﻿using Idlesoft.Utils;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections;

namespace UtilsTests
{
	
	
	/// <summary>
	///This is a test class for ProfileStopwatchTest and is intended
	///to contain all ProfileStopwatchTest Unit Tests
	///</summary>
	[TestClass()]
	public class ProfileStopwatchTest
	{


		private TestContext testContextInstance;

		/// <summary>
		///Gets or sets the test context which provides
		///information about and functionality for the current test run.
		///</summary>
		public TestContext TestContext
		{
			get
			{
				return testContextInstance;
			}
			set
			{
				testContextInstance = value;
			}
		}

		#region Additional test attributes
		// 
		//You can use the following additional attributes as you write your tests:
		//
		//Use ClassInitialize to run code before running the first test in the class
		//[ClassInitialize()]
		//public static void MyClassInitialize(TestContext testContext)
		//{
		//}
		//
		//Use ClassCleanup to run code after all tests in a class have run
		//[ClassCleanup()]
		//public static void MyClassCleanup()
		//{
		//}
		//
		//Use TestInitialize to run code before running each test
		//[TestInitialize()]
		//public void MyTestInitialize()
		//{
		//}
		//
		//Use TestCleanup to run code after each test has run
		//[TestCleanup()]
		//public void MyTestCleanup()
		//{
		//}
		//
		#endregion


		/// <summary>
		///A test for ProfileStopwatch Constructor
		///</summary>
		[TestMethod()]
		public void ProfileStopwatchConstructorTest()
		{
			ProfileStopwatch target = new ProfileStopwatch();
			Assert.Inconclusive("TODO: Implement code to verify target");
		}

		/// <summary>
		///A test for Finalize
		///</summary>
		[TestMethod()]
		[DeploymentItem("Utils.dll")]
		public void FinalizeTest()
		{
			ProfileStopwatch_Accessor target = new ProfileStopwatch_Accessor(); // TODO: Initialize to an appropriate value
			target.Finalize();
			Assert.Inconclusive("A method that does not return a value cannot be verified.");
		}

		/// <summary>
		///A test for GetEnumerator
		///</summary>
		[TestMethod()]
		public void GetEnumeratorTest()
		{
			ProfileStopwatch target = new ProfileStopwatch(); // TODO: Initialize to an appropriate value
			IEnumerator expected = null; // TODO: Initialize to an appropriate value
			IEnumerator actual;
			actual = target.GetEnumerator();
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Verify the correctness of this test method.");
		}

		/// <summary>
		///A test for Start
		///</summary>
		[TestMethod()]
		public void StartTest()
		{
			ProfileStopwatch target = new ProfileStopwatch(); // TODO: Initialize to an appropriate value
			target.Start();
			Assert.Inconclusive("A method that does not return a value cannot be verified.");
		}

		/// <summary>
		///A test for Stop
		///</summary>
		[TestMethod()]
		public void StopTest()
		{
			ProfileStopwatch target = new ProfileStopwatch(); // TODO: Initialize to an appropriate value
			target.Stop();
			Assert.Inconclusive("A method that does not return a value cannot be verified.");
		}

		/// <summary>
		///A test for Item
		///</summary>
		[TestMethod()]
		public void ItemTest()
		{
			ProfileStopwatch target = new ProfileStopwatch(); // TODO: Initialize to an appropriate value
			object inKey = null; // TODO: Initialize to an appropriate value
			ProfileStopwatch.ProfileSegment expected = null; // TODO: Initialize to an appropriate value
			ProfileStopwatch.ProfileSegment actual;
			target[inKey] = expected;
			actual = target[inKey];
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Verify the correctness of this test method.");
		}
	}
}
